﻿// 4217. 机器人移动.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//
/*
https://www.acwing.com/problem/content/4220/

在一个无限大的二维平面上有一个机器人。

初始时，机器人位于点 (0,0)
。

机器人可以执行四种行动指令：

U — 从 (x,y)
 移动到 (x,y+1)
；
D — 从 (x,y)
 移动到 (x,y−1)
；
L — 从 (x,y)
 移动到 (x−1,y)
；
R — 从 (x,y)
 移动到 (x+1,y)
。
给定一个长度为 n
 的指令序列，指令编号 1∼n
，机器人将按顺序依次执行序列中的每个行动指令。

我们希望机器人最终抵达目标地点 (a,b)
。

为了达成这一目的，我们可能需要对指令序列进行修改。

每次修改可以选择其中一个指令，并将其替换为四种指令之一。

注意，只能对序列中的指令进行替换，不得随意删除指令或添加额外指令。

不妨设经过修改的指令中，编号最小的指令编号为 minID
，编号最大的指令编号为 maxID
。

我们定义修改成本为 maxID−minID+1
。

例如，将 RRRRRRR 修改为 RLRRLRL，则编号为 2,5,7
 的指令经过了修改，修改成本为 7−2+1=6
。

请你计算，为了使得机器人能够最终抵达目标点 (a,b)
，所需花费的最小修改成本。

如果不需要对序列进行修改，则成本为 0
。

输入格式
第一行包含整数 n
。

第二行包含一个长度为 n
 的字符串，表示指令序列，字符串中只包含 U，D，L，R。

第三行包含两个整数 a,b
，表示机器人的目标位置为 (a,b)
。

输出格式
输出一个整数，表示最小修改成本。

如果无论如何修改，机器人都无法抵达目标位置，则输出 −1
。

数据范围
前四个测试点满足 1≤n≤10
。
所有测试点满足 1≤n≤2×105
，−109≤x,y≤109
。

输入样例1：
5
RURUU
-2 3
输出样例1：
3
输入样例2：
4
RULR
1 1
输出样例2：
0
输入样例3：
3
UUU
100 100
输出样例3：
-1
*/
#include <iostream>

int main()
{
    std::cout << "Hello World!\n";
}

 